﻿using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace HengTong.Model.Db.Hr.Bill;

/// <summary>
/// 转正申请表
/// </summary>
[Display(Name = "转正申请", Description = "员工转正申请表单", GroupName = "人事业务表单")]
public class SysHrProbationRequestBill : SysHrInterviewRequestBill
{
    // 基本信息
    [Display(Name = "入职日期", Description = "入职日期", GroupName = "基本信息")]
    public DateTime? EntryDate { get; set; }

    [Display(Name = "转正日期", Description = "转正日期", GroupName = "基本信息")]
    public DateTime? RegDate { get; set; }

    // 试用期信息
    [Display(Name = "试用期起始日期", Description = "试用期起始日期", GroupName = "试用期信息")]
    public DateTime? ProbationStartDate { get; set; }

    [Display(Name = "试用期结束日期", Description = "试用期结束日期", GroupName = "试用期信息")]
    public DateTime? ProbationEndDate { get; set; }

    [Display(Name = "试用期薪资", Description = "试用期薪资", GroupName = "试用期信息")]
    [Column(TypeName = "decimal(8,2)")]
    public decimal? ProbationSalary { get; set; }

    [Display(Name = "转正后薪资", Description = "转正后薪资", GroupName = "试用��信息")]
    [Column(TypeName = "decimal(8,2)")]
    public decimal? RegularSalary { get; set; }

    // 工作内容
    [Required]
    [Display(Name = "工作内容", Description = "工作内容", GroupName = "工作内容")]
    [StringLength(128)]
    public string JobContent { get; set; }

    [Required]
    [Display(Name = "工作成果", Description = "工作成果", GroupName = "工作内容")]
    [StringLength(128)]
    public string JobAchievements { get; set; }

    [Display(Name = "其他说明", Description = "其他说明", GroupName = "工作内容")]
    [StringLength(128)]
    public string Remarks { get; set; }

    [Display(Name = "转正意见", Description = "转正意见", GroupName = "工作内容")]
    [StringLength(128)]
    public string RegOpinion { get; set; }

    [Display(Name = "申请状态", Description = "申请状态", GroupName = "工作内容")]
    public HrStatus? Status { get; set; }
}